[INFO] fetching crate visioncortex 0.8.6...
[INFO] checking visioncortex-0.8.6 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate visioncortex 0.8.6 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate visioncortex 0.8.6 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate visioncortex 0.8.6
[INFO] finished tweaking crates.io crate visioncortex 0.8.6
[INFO] tweaked toml for crates.io crate visioncortex 0.8.6 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded roots v0.0.6
[INFO] [stderr]   Downloaded flo_curves v0.3.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2a28fa7833d2ca9b2d2dce72124cb1df572d0e13350f6eb6c893302ece446412
[INFO] running `Command { std: "docker" "start" "-a" "2a28fa7833d2ca9b2d2dce72124cb1df572d0e13350f6eb6c893302ece446412", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2a28fa7833d2ca9b2d2dce72124cb1df572d0e13350f6eb6c893302ece446412", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2a28fa7833d2ca9b2d2dce72124cb1df572d0e13350f6eb6c893302ece446412", kill_on_drop: false }`
[INFO] [stdout] 2a28fa7833d2ca9b2d2dce72124cb1df572d0e13350f6eb6c893302ece446412
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 48e2554c937469fa0e969f9355eedea7228693ca7c6cf5e431484f82ea49216c
[INFO] running `Command { std: "docker" "start" "-a" "48e2554c937469fa0e969f9355eedea7228693ca7c6cf5e431484f82ea49216c", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]     Checking roots v0.0.6
[INFO] [stderr]     Checking smallvec v1.13.1
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking itertools v0.8.2
[INFO] [stderr]     Checking flo_curves v0.3.1
[INFO] [stderr]     Checking visioncortex v0.8.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `PointF64`
[INFO] [stdout]  --> src/path/compound.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{PathI32, PathF64, PointF64, PointType, Spline};
[INFO] [stdout]   |                               ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Coord2`
[INFO] [stdout]  --> src/path/smooth.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use flo_curves::{Coord2, bezier, BezierCurveFactory};
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert::TryInto`
[INFO] [stdout]  --> src/path/spline.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::Ordering, convert::TryInto};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cmp::PartialOrd`
[INFO] [stdout]  --> src/point.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{cmp::PartialOrd, convert::{From, Into}, fmt::Display, ops::*};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Coord2`
[INFO] [stdout]  --> src/path/smooth.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use flo_curves::{Coord2, bezier, BezierCurveFactory};
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert::TryInto`
[INFO] [stdout]  --> src/path/spline.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::Ordering, convert::TryInto};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cmp::PartialOrd`
[INFO] [stdout]  --> src/point.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{cmp::PartialOrd, convert::{From, Into}, fmt::Display, ops::*};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/numeric/matrix.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Debug, Write};
[INFO] [stdout]   |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/numeric/matrix.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let x = &self;
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/numeric/matrix.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Debug, Write};
[INFO] [stdout]   |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/numeric/matrix.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let x = &self;
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `src_pts` and `dst_pts` are never read
[INFO] [stdout]   --> src/numeric/perspective.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct PerspectiveTransform {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] 10 |     src_pts: [f64; 8],
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 11 |     dst_pts: [f64; 8],
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_intersection` is never used
[INFO] [stdout]   --> src/path/util.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(super) fn find_intersection(p1: &PointF64, p2: &PointF64, p3: &PointF64, p4: &PointF64) -> PointF64 {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_pow_of_four` is never used
[INFO] [stdout]    --> src/sampler.rs:152:4
[INFO] [stdout]     |
[INFO] [stdout] 152 | fn is_pow_of_four(n: usize) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pow_of_four` is never used
[INFO] [stdout]    --> src/sampler.rs:156:4
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn pow_of_four(mut n: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains unused formatting placeholders
[INFO] [stdout]   --> src/shape/arc.rs:53:31
[INFO] [stdout]    |
[INFO] [stdout] 53 |         _ => panic!("What is ({dx},{dy})?"),
[INFO] [stdout]    |                               ^^^^ ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add the missing arguments
[INFO] [stdout]    |
[INFO] [stdout] 53 |         _ => panic!("What is ({dx},{dy})?", ...),
[INFO] [stdout]    |                                           +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]    |
[INFO] [stdout] 53 |         _ => panic!("{}", "What is ({dx},{dy})?"),
[INFO] [stdout]    |                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains an unused formatting placeholder
[INFO] [stdout]   --> src/shape/arc.rs:97:31
[INFO] [stdout]    |
[INFO] [stdout] 97 |         _ => panic!("What s = {s}?"),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout] help: add the missing argument
[INFO] [stdout]    |
[INFO] [stdout] 97 |         _ => panic!("What s = {s}?", ...),
[INFO] [stdout]    |                                    +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]    |
[INFO] [stdout] 97 |         _ => panic!("{}", "What s = {s}?"),
[INFO] [stdout]    |                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `src_pts` and `dst_pts` are never read
[INFO] [stdout]   --> src/numeric/perspective.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct PerspectiveTransform {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] 10 |     src_pts: [f64; 8],
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 11 |     dst_pts: [f64; 8],
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_intersection` is never used
[INFO] [stdout]   --> src/path/util.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(super) fn find_intersection(p1: &PointF64, p2: &PointF64, p3: &PointF64, p4: &PointF64) -> PointF64 {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_pow_of_four` is never used
[INFO] [stdout]    --> src/sampler.rs:152:4
[INFO] [stdout]     |
[INFO] [stdout] 152 | fn is_pow_of_four(n: usize) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pow_of_four` is never used
[INFO] [stdout]    --> src/sampler.rs:156:4
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn pow_of_four(mut n: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains unused formatting placeholders
[INFO] [stdout]   --> src/shape/arc.rs:53:31
[INFO] [stdout]    |
[INFO] [stdout] 53 |         _ => panic!("What is ({dx},{dy})?"),
[INFO] [stdout]    |                               ^^^^ ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add the missing arguments
[INFO] [stdout]    |
[INFO] [stdout] 53 |         _ => panic!("What is ({dx},{dy})?", ...),
[INFO] [stdout]    |                                           +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]    |
[INFO] [stdout] 53 |         _ => panic!("{}", "What is ({dx},{dy})?"),
[INFO] [stdout]    |                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains an unused formatting placeholder
[INFO] [stdout]   --> src/shape/arc.rs:97:31
[INFO] [stdout]    |
[INFO] [stdout] 97 |         _ => panic!("What s = {s}?"),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout] help: add the missing argument
[INFO] [stdout]    |
[INFO] [stdout] 97 |         _ => panic!("What s = {s}?", ...),
[INFO] [stdout]    |                                    +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]    |
[INFO] [stdout] 97 |         _ => panic!("{}", "What s = {s}?"),
[INFO] [stdout]    |                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.56s
[INFO] running `Command { std: "docker" "inspect" "48e2554c937469fa0e969f9355eedea7228693ca7c6cf5e431484f82ea49216c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "48e2554c937469fa0e969f9355eedea7228693ca7c6cf5e431484f82ea49216c", kill_on_drop: false }`
[INFO] [stdout] 48e2554c937469fa0e969f9355eedea7228693ca7c6cf5e431484f82ea49216c
[INFO] checking visioncortex-0.8.6 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate visioncortex 0.8.6 into /workspace/builds/worker-5-tc2/source
[INFO] validating manifest of crates.io crate visioncortex 0.8.6 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate visioncortex 0.8.6
[INFO] finished tweaking crates.io crate visioncortex 0.8.6
[INFO] tweaked toml for crates.io crate visioncortex 0.8.6 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ecf3f1a64570094bf843cffdd04af9028ce8cdac090f657e267d47d0acbf1105
[INFO] running `Command { std: "docker" "start" "-a" "ecf3f1a64570094bf843cffdd04af9028ce8cdac090f657e267d47d0acbf1105", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ecf3f1a64570094bf843cffdd04af9028ce8cdac090f657e267d47d0acbf1105", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ecf3f1a64570094bf843cffdd04af9028ce8cdac090f657e267d47d0acbf1105", kill_on_drop: false }`
[INFO] [stdout] ecf3f1a64570094bf843cffdd04af9028ce8cdac090f657e267d47d0acbf1105
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c2995bd686f638446a0d689f28f8d44d53c209a8c15fcc18767685424c069ac8
[INFO] running `Command { std: "docker" "start" "-a" "c2995bd686f638446a0d689f28f8d44d53c209a8c15fcc18767685424c069ac8", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]     Checking smallvec v1.13.1
[INFO] [stderr]     Checking roots v0.0.6
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking itertools v0.8.2
[INFO] [stderr]     Checking flo_curves v0.3.1
[INFO] [stderr]     Checking visioncortex v0.8.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/color_clusters/builder.rs:216:27
[INFO] [stdout]     |
[INFO] [stdout] 216 |                 for _i in 0..std::cmp::max(1, self.iteration / 16) {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/color_clusters/builder.rs:281:19
[INFO] [stdout]     |
[INFO] [stdout] 281 |         for i in (self.iteration..(self.iteration + batch_size)).take_while(|&i| (i as usize) < len)
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/color_clusters/builder.rs:368:22
[INFO] [stdout]     |
[INFO] [stdout] 368 |         for index in 0..self.clusters.len() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/color_clusters/builder.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         for index in 0..self.clusters.len() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/color_clusters/cluster.rs:138:22
[INFO] [stdout]     |
[INFO] [stdout] 138 |             for k in 0..4 {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/color_clusters/cluster.rs:167:22
[INFO] [stdout]     |
[INFO] [stdout] 167 |             for k in 0..4 {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/numeric/matrix.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |         for i in 0..I {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/numeric/matrix.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 |             for j in 0..J {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/numeric/matrix.rs:42:18
[INFO] [stdout]    |
[INFO] [stdout] 42 |         for i in 0..I {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/numeric/matrix.rs:53:18
[INFO] [stdout]    |
[INFO] [stdout] 53 |         for j in 0..I {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/numeric/matrix.rs:56:22
[INFO] [stdout]    |
[INFO] [stdout] 56 |             for i in j..I {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/numeric/matrix.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |             for k in j..I {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/numeric/matrix.rs:72:23
[INFO] [stdout]    |
[INFO] [stdout] 72 |             for k in (0..I).rev() {
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/numeric/matrix.rs:75:23
[INFO] [stdout]    |
[INFO] [stdout] 75 |             for i in (0..I).rev() {
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/numeric/matrix.rs:78:30
[INFO] [stdout]    |
[INFO] [stdout] 78 |                     for k in j+1..I {
[INFO] [stdout]    |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/numeric/matrix.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 |         for i in (0..I).rev() {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/numeric/matrix.rs:105:23
[INFO] [stdout]     |
[INFO] [stdout] 105 |             for k in (0..K).rev() {
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/numeric/matrix.rs:125:19
[INFO] [stdout]     |
[INFO] [stdout] 125 |         for i in (0..I).rev() {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/numeric/matrix.rs:148:18
[INFO] [stdout]     |
[INFO] [stdout] 148 |         for i in 0..I {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/numeric/matrix.rs:149:22
[INFO] [stdout]     |
[INFO] [stdout] 149 |             for j in 0..J {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/numeric/matrix.rs:160:18
[INFO] [stdout]     |
[INFO] [stdout] 160 |         for i in 0..I {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/numeric/matrix.rs:161:22
[INFO] [stdout]     |
[INFO] [stdout] 161 |             for j in 0..J {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/numeric/matrix.rs:171:18
[INFO] [stdout]     |
[INFO] [stdout] 171 |         for i in 0..I {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/numeric/perspective.rs:87:18
[INFO] [stdout]    |
[INFO] [stdout] 87 |         for i in 0..mat_x.len() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PointF64`
[INFO] [stdout]  --> src/path/compound.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{PathI32, PathF64, PointF64, PointType, Spline};
[INFO] [stdout]   |                               ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/path/paths.rs:119:41
[INFO] [stdout]     |
[INFO] [stdout] 119 |             Self::from_points(self.path[0..(len-1)].to_vec())
[INFO] [stdout]     |                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/path/paths.rs:217:24
[INFO] [stdout]     |
[INFO] [stdout] 217 |             &self.path[corners[0].0..=corners[1].0],
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/path/paths.rs:218:24
[INFO] [stdout]     |
[INFO] [stdout] 218 |             &self.path[corners[1].0..=corners[2].0],
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/path/paths.rs:219:24
[INFO] [stdout]     |
[INFO] [stdout] 219 |             &self.path[corners[2].0..=corners[3].0],
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/path/paths.rs:222:34
[INFO] [stdout]     |
[INFO] [stdout] 222 |         let mut last = self.path[corners[3].0..self.path.len()-1].to_vec();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/path/paths.rs:223:36
[INFO] [stdout]     |
[INFO] [stdout] 223 |         last.append(&mut self.path[0..=corners[0].0].to_vec());
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/path/paths.rs:255:19
[INFO] [stdout]     |
[INFO] [stdout] 255 |         for _i in 0..max_iterations {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/path/paths.rs:274:19
[INFO] [stdout]     |
[INFO] [stdout] 274 |         for _i in 0..max_iterations {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/path/reduce.rs:74:14
[INFO] [stdout]    |
[INFO] [stdout] 74 |     for i in first+1..last {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/path/simplify.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |         for i in 0..len {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/path/simplify.rs:68:14
[INFO] [stdout]    |
[INFO] [stdout] 68 |             (from..to).skip(1).map(|i| {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/path/simplify.rs:78:18
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for i in 0..len {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Coord2`
[INFO] [stdout]  --> src/path/smooth.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use flo_curves::{Coord2, bezier, BezierCurveFactory};
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/path/smooth.rs:19:31
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let path = &path.path[0..(path.path.len()-1)];
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/path/smooth.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 26 |         for i in 0..len {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/path/smooth.rs:53:31
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let path = &path.path[0..(path.path.len()-1)];
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/path/smooth.rs:62:18
[INFO] [stdout]    |
[INFO] [stdout] 62 |         for i in 0..len {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/path/smooth.rs:133:31
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let path = &path.path[0..(path.path.len()-1)];
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/path/smooth.rs:143:18
[INFO] [stdout]     |
[INFO] [stdout] 143 |         for i in 0..len {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert::TryInto`
[INFO] [stdout]  --> src/path/spline.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::Ordering, convert::TryInto};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/path/spline.rs:85:31
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let path = &path.path[0..path.len()-1];
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/path/spline.rs:112:18
[INFO] [stdout]     |
[INFO] [stdout] 112 |         for i in 0..num_cut_points {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/path/spline.rs:173:49
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 subpath.extend_from_slice(&path[from..=to]);
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/path/spline.rs:176:49
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 subpath.extend_from_slice(&path[from..len]);
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/path/spline.rs:177:49
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 subpath.extend_from_slice(&path[0..=to]);
[INFO] [stdout]     |                                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/path/walker.rs:44:10
[INFO] [stdout]    |
[INFO] [stdout] 44 |         (0..8)
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/geometry.rs:22:18
[INFO] [stdout]    |
[INFO] [stdout] 22 |         for y in 0..image.height as i32 {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/geometry.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 |             for x in 0..image.width as i32 {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/geometry.rs:47:19
[INFO] [stdout]    |
[INFO] [stdout] 47 |         for xx in 0..image.width as i32 {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/geometry.rs:48:22
[INFO] [stdout]    |
[INFO] [stdout] 48 |             for y in 0..image.height as i32 {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/geometry.rs:49:28
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 for xxx in 0..image.width as i32 {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/geometry.rs:86:19
[INFO] [stdout]    |
[INFO] [stdout] 86 |         for yy in -radius..radius+1 {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/geometry.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |             for xx in -radius..radius+1 {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/shape/geometry.rs:104:19
[INFO] [stdout]     |
[INFO] [stdout] 104 |         for yy in 0..height as i32 {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/shape/geometry.rs:105:23
[INFO] [stdout]     |
[INFO] [stdout] 105 |             for xx in 0..width as i32 {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/image_operations.rs:83:20
[INFO] [stdout]    |
[INFO] [stdout] 83 |         for ii in (0..i.len()).step_by(4) {
[INFO] [stdout]    |                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/shape/image_operations.rs:101:18
[INFO] [stdout]     |
[INFO] [stdout] 101 |         for y in 0..self.height {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/shape/image_operations.rs:102:22
[INFO] [stdout]     |
[INFO] [stdout] 102 |             for x in 0..self.width {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/shape/image_operations.rs:105:31
[INFO] [stdout]     |
[INFO] [stdout] 105 |                     for yy in -ss..ss {
[INFO] [stdout]     |                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/shape/image_operations.rs:106:35
[INFO] [stdout]     |
[INFO] [stdout] 106 |                         for xx in -ss..ss {
[INFO] [stdout]     |                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/processor.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 |         for yy in -ss..ss {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/processor.rs:35:23
[INFO] [stdout]    |
[INFO] [stdout] 35 |             for xx in -ss..ss {
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/processor.rs:43:19
[INFO] [stdout]    |
[INFO] [stdout] 43 |         for yy in -ss..ss {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/processor.rs:44:23
[INFO] [stdout]    |
[INFO] [stdout] 44 |             for xx in -ss..ss {
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/processor.rs:73:22
[INFO] [stdout]    |
[INFO] [stdout] 73 |             for i in 0..4 {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/skeleton.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 |         for y in 0..self.height {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/skeleton.rs:41:22
[INFO] [stdout]    |
[INFO] [stdout] 41 |             for x in 0..self.width + 1 {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/skeleton.rs:60:30
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     for b in x - span..x {
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/skeleton.rs:71:18
[INFO] [stdout]    |
[INFO] [stdout] 71 |         for x in 0..self.width {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/skeleton.rs:74:22
[INFO] [stdout]    |
[INFO] [stdout] 74 |             for y in 0..self.height + 1 {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/skeleton.rs:93:30
[INFO] [stdout]    |
[INFO] [stdout] 93 |                     for b in y - span..y {
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/shape/skeleton.rs:204:18
[INFO] [stdout]     |
[INFO] [stdout] 204 |         for y in 0..self.height {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/shape/skeleton.rs:205:22
[INFO] [stdout]     |
[INFO] [stdout] 205 |             for x in 0..self.width {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/shape/skeleton.rs:243:18
[INFO] [stdout]     |
[INFO] [stdout] 243 |         for y in 0..self.height as i32 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/shape/skeleton.rs:244:22
[INFO] [stdout]     |
[INFO] [stdout] 244 |             for x in 0..self.width as i32 {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/shape/arc.rs:68:56
[INFO] [stdout]    |
[INFO] [stdout] 68 |     spline.points.extend(&circular_arc(c, b, a).points[1..]);
[INFO] [stdout]    |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/shape/arc.rs:71:56
[INFO] [stdout]    |
[INFO] [stdout] 71 |     spline.points.extend(&circular_arc(a, b, c).points[1..]);
[INFO] [stdout]    |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/shape/arc.rs:74:56
[INFO] [stdout]    |
[INFO] [stdout] 74 |     spline.points.extend(&circular_arc(c, b, a).points[1..]);
[INFO] [stdout]    |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/clusters.rs:193:30
[INFO] [stdout]     |
[INFO] [stdout] 193 |             'outer: for y in 0..(image.height-h+1) {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/clusters.rs:194:26
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 for x in 0..(image.width-w+1) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/clusters.rs:276:18
[INFO] [stdout]     |
[INFO] [stdout] 276 |         for y in 0..self.height {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/clusters.rs:277:22
[INFO] [stdout]     |
[INFO] [stdout] 277 |             for x in 0..self.width {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/disjoint_sets.rs:94:14
[INFO] [stdout]    |
[INFO] [stdout] 94 |     for i in 0..items.len() {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/disjoint_sets.rs:163:18
[INFO] [stdout]     |
[INFO] [stdout] 163 |         for i in 0..self.parents.len() as u32 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:100:18
[INFO] [stdout]     |
[INFO] [stdout] 100 |         for y in 0..self.height {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:101:22
[INFO] [stdout]     |
[INFO] [stdout] 101 |             for x in 0..self.width {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:122:18
[INFO] [stdout]     |
[INFO] [stdout] 122 |         for y in rect.top..rect.bottom {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:123:22
[INFO] [stdout]     |
[INFO] [stdout] 123 |             for x in rect.left..rect.right {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:141:18
[INFO] [stdout]     |
[INFO] [stdout] 141 |         for y in 0..self.height {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:142:22
[INFO] [stdout]     |
[INFO] [stdout] 142 |             for x in 0..self.width {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:178:18
[INFO] [stdout]     |
[INFO] [stdout] 178 |         for y in 0..rotated_image.height {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:179:22
[INFO] [stdout]     |
[INFO] [stdout] 179 |             for x in 0..rotated_image.width {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:192:18
[INFO] [stdout]     |
[INFO] [stdout] 192 |         for y in 0..src.height {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:193:22
[INFO] [stdout]     |
[INFO] [stdout] 193 |             for x in 0..src.width {
[INFO] [stdout]     |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:209:18
[INFO] [stdout]     |
[INFO] [stdout] 209 |         for y in 0..self.height {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:210:22
[INFO] [stdout]     |
[INFO] [stdout] 210 |             for x in 0..self.width {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:224:18
[INFO] [stdout]     |
[INFO] [stdout] 224 |         for y in 0..self.height {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:225:22
[INFO] [stdout]     |
[INFO] [stdout] 225 |             for x in 0..self.width {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:330:18
[INFO] [stdout]     |
[INFO] [stdout] 330 |         for y in 0..self.height {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:331:22
[INFO] [stdout]     |
[INFO] [stdout] 331 |             for x in 0..self.width {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cmp::PartialOrd`
[INFO] [stdout]  --> src/point.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{cmp::PartialOrd, convert::{From, Into}, fmt::Display, ops::*};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/sampler.rs:55:18
[INFO] [stdout]    |
[INFO] [stdout] 55 |         for y in 0..new_size {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/sampler.rs:56:22
[INFO] [stdout]    |
[INFO] [stdout] 56 |             for x in 0..new_size {
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/sampler.rs:106:18
[INFO] [stdout]     |
[INFO] [stdout] 106 |         for y in 0..dst_rect.height() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/sampler.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |             for x in 0..dst_rect.width() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/sampler.rs:141:18
[INFO] [stdout]     |
[INFO] [stdout] 141 |         for y in top..bottom {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/sampler.rs:142:22
[INFO] [stdout]     |
[INFO] [stdout] 142 |             for x in left..right {
[INFO] [stdout]     |                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/sat.rs:34:18
[INFO] [stdout]    |
[INFO] [stdout] 34 |         for y in 0..height as i32 {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/sat.rs:35:22
[INFO] [stdout]    |
[INFO] [stdout] 35 |             for x in 0..width as i32 {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/color_clusters/builder.rs:216:27
[INFO] [stdout]     |
[INFO] [stdout] 216 |                 for _i in 0..std::cmp::max(1, self.iteration / 16) {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/color_clusters/builder.rs:281:19
[INFO] [stdout]     |
[INFO] [stdout] 281 |         for i in (self.iteration..(self.iteration + batch_size)).take_while(|&i| (i as usize) < len)
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/color_clusters/builder.rs:368:22
[INFO] [stdout]     |
[INFO] [stdout] 368 |         for index in 0..self.clusters.len() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/color_clusters/builder.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |         for index in 0..self.clusters.len() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/color_clusters/cluster.rs:138:22
[INFO] [stdout]     |
[INFO] [stdout] 138 |             for k in 0..4 {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/color_clusters/cluster.rs:167:22
[INFO] [stdout]     |
[INFO] [stdout] 167 |             for k in 0..4 {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/numeric/matrix.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |         for i in 0..I {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/numeric/matrix.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 |             for j in 0..J {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/numeric/matrix.rs:42:18
[INFO] [stdout]    |
[INFO] [stdout] 42 |         for i in 0..I {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/numeric/matrix.rs:53:18
[INFO] [stdout]    |
[INFO] [stdout] 53 |         for j in 0..I {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/numeric/matrix.rs:56:22
[INFO] [stdout]    |
[INFO] [stdout] 56 |             for i in j..I {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/numeric/matrix.rs:69:22
[INFO] [stdout]    |
[INFO] [stdout] 69 |             for k in j..I {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/numeric/matrix.rs:72:23
[INFO] [stdout]    |
[INFO] [stdout] 72 |             for k in (0..I).rev() {
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/numeric/matrix.rs:75:23
[INFO] [stdout]    |
[INFO] [stdout] 75 |             for i in (0..I).rev() {
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/numeric/matrix.rs:78:30
[INFO] [stdout]    |
[INFO] [stdout] 78 |                     for k in j+1..I {
[INFO] [stdout]    |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/numeric/matrix.rs:102:19
[INFO] [stdout]     |
[INFO] [stdout] 102 |         for i in (0..I).rev() {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/numeric/matrix.rs:105:23
[INFO] [stdout]     |
[INFO] [stdout] 105 |             for k in (0..K).rev() {
[INFO] [stdout]     |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/numeric/matrix.rs:125:19
[INFO] [stdout]     |
[INFO] [stdout] 125 |         for i in (0..I).rev() {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/numeric/matrix.rs:148:18
[INFO] [stdout]     |
[INFO] [stdout] 148 |         for i in 0..I {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/numeric/matrix.rs:149:22
[INFO] [stdout]     |
[INFO] [stdout] 149 |             for j in 0..J {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/numeric/matrix.rs:160:18
[INFO] [stdout]     |
[INFO] [stdout] 160 |         for i in 0..I {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/numeric/matrix.rs:161:22
[INFO] [stdout]     |
[INFO] [stdout] 161 |             for j in 0..J {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/numeric/matrix.rs:171:18
[INFO] [stdout]     |
[INFO] [stdout] 171 |         for i in 0..I {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/numeric/perspective.rs:87:18
[INFO] [stdout]    |
[INFO] [stdout] 87 |         for i in 0..mat_x.len() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/path/paths.rs:119:41
[INFO] [stdout]     |
[INFO] [stdout] 119 |             Self::from_points(self.path[0..(len-1)].to_vec())
[INFO] [stdout]     |                                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/path/paths.rs:217:24
[INFO] [stdout]     |
[INFO] [stdout] 217 |             &self.path[corners[0].0..=corners[1].0],
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/path/paths.rs:218:24
[INFO] [stdout]     |
[INFO] [stdout] 218 |             &self.path[corners[1].0..=corners[2].0],
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/path/paths.rs:219:24
[INFO] [stdout]     |
[INFO] [stdout] 219 |             &self.path[corners[2].0..=corners[3].0],
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/path/paths.rs:222:34
[INFO] [stdout]     |
[INFO] [stdout] 222 |         let mut last = self.path[corners[3].0..self.path.len()-1].to_vec();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/path/paths.rs:223:36
[INFO] [stdout]     |
[INFO] [stdout] 223 |         last.append(&mut self.path[0..=corners[0].0].to_vec());
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/path/paths.rs:255:19
[INFO] [stdout]     |
[INFO] [stdout] 255 |         for _i in 0..max_iterations {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/path/paths.rs:274:19
[INFO] [stdout]     |
[INFO] [stdout] 274 |         for _i in 0..max_iterations {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/path/reduce.rs:74:14
[INFO] [stdout]    |
[INFO] [stdout] 74 |     for i in first+1..last {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/path/simplify.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |         for i in 0..len {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/path/simplify.rs:68:14
[INFO] [stdout]    |
[INFO] [stdout] 68 |             (from..to).skip(1).map(|i| {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/path/simplify.rs:78:18
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for i in 0..len {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Coord2`
[INFO] [stdout]  --> src/path/smooth.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use flo_curves::{Coord2, bezier, BezierCurveFactory};
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/path/smooth.rs:19:31
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let path = &path.path[0..(path.path.len()-1)];
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/path/smooth.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 26 |         for i in 0..len {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/path/smooth.rs:53:31
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let path = &path.path[0..(path.path.len()-1)];
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/path/smooth.rs:62:18
[INFO] [stdout]    |
[INFO] [stdout] 62 |         for i in 0..len {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/path/smooth.rs:133:31
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let path = &path.path[0..(path.path.len()-1)];
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/path/smooth.rs:143:18
[INFO] [stdout]     |
[INFO] [stdout] 143 |         for i in 0..len {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `convert::TryInto`
[INFO] [stdout]  --> src/path/spline.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::Ordering, convert::TryInto};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/path/spline.rs:85:31
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let path = &path.path[0..path.len()-1];
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/path/spline.rs:112:18
[INFO] [stdout]     |
[INFO] [stdout] 112 |         for i in 0..num_cut_points {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/path/spline.rs:173:49
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 subpath.extend_from_slice(&path[from..=to]);
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/path/spline.rs:176:49
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 subpath.extend_from_slice(&path[from..len]);
[INFO] [stdout]     |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/path/spline.rs:177:49
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 subpath.extend_from_slice(&path[0..=to]);
[INFO] [stdout]     |                                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/path/walker.rs:44:10
[INFO] [stdout]    |
[INFO] [stdout] 44 |         (0..8)
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/geometry.rs:22:18
[INFO] [stdout]    |
[INFO] [stdout] 22 |         for y in 0..image.height as i32 {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/geometry.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 |             for x in 0..image.width as i32 {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/geometry.rs:47:19
[INFO] [stdout]    |
[INFO] [stdout] 47 |         for xx in 0..image.width as i32 {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/geometry.rs:48:22
[INFO] [stdout]    |
[INFO] [stdout] 48 |             for y in 0..image.height as i32 {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/geometry.rs:49:28
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 for xxx in 0..image.width as i32 {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/geometry.rs:86:19
[INFO] [stdout]    |
[INFO] [stdout] 86 |         for yy in -radius..radius+1 {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/geometry.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |             for xx in -radius..radius+1 {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/shape/geometry.rs:104:19
[INFO] [stdout]     |
[INFO] [stdout] 104 |         for yy in 0..height as i32 {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/shape/geometry.rs:105:23
[INFO] [stdout]     |
[INFO] [stdout] 105 |             for xx in 0..width as i32 {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/image_operations.rs:83:20
[INFO] [stdout]    |
[INFO] [stdout] 83 |         for ii in (0..i.len()).step_by(4) {
[INFO] [stdout]    |                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/shape/image_operations.rs:101:18
[INFO] [stdout]     |
[INFO] [stdout] 101 |         for y in 0..self.height {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/shape/image_operations.rs:102:22
[INFO] [stdout]     |
[INFO] [stdout] 102 |             for x in 0..self.width {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/shape/image_operations.rs:105:31
[INFO] [stdout]     |
[INFO] [stdout] 105 |                     for yy in -ss..ss {
[INFO] [stdout]     |                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/shape/image_operations.rs:106:35
[INFO] [stdout]     |
[INFO] [stdout] 106 |                         for xx in -ss..ss {
[INFO] [stdout]     |                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/processor.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 |         for yy in -ss..ss {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/processor.rs:35:23
[INFO] [stdout]    |
[INFO] [stdout] 35 |             for xx in -ss..ss {
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/processor.rs:43:19
[INFO] [stdout]    |
[INFO] [stdout] 43 |         for yy in -ss..ss {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/processor.rs:44:23
[INFO] [stdout]    |
[INFO] [stdout] 44 |             for xx in -ss..ss {
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/processor.rs:73:22
[INFO] [stdout]    |
[INFO] [stdout] 73 |             for i in 0..4 {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/skeleton.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 |         for y in 0..self.height {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/skeleton.rs:41:22
[INFO] [stdout]    |
[INFO] [stdout] 41 |             for x in 0..self.width + 1 {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/skeleton.rs:60:30
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     for b in x - span..x {
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/skeleton.rs:71:18
[INFO] [stdout]    |
[INFO] [stdout] 71 |         for x in 0..self.width {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/skeleton.rs:74:22
[INFO] [stdout]    |
[INFO] [stdout] 74 |             for y in 0..self.height + 1 {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/shape/skeleton.rs:93:30
[INFO] [stdout]    |
[INFO] [stdout] 93 |                     for b in y - span..y {
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/shape/skeleton.rs:204:18
[INFO] [stdout]     |
[INFO] [stdout] 204 |         for y in 0..self.height {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/shape/skeleton.rs:205:22
[INFO] [stdout]     |
[INFO] [stdout] 205 |             for x in 0..self.width {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/shape/skeleton.rs:243:18
[INFO] [stdout]     |
[INFO] [stdout] 243 |         for y in 0..self.height as i32 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/shape/skeleton.rs:244:22
[INFO] [stdout]     |
[INFO] [stdout] 244 |             for x in 0..self.width as i32 {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/shape/arc.rs:68:56
[INFO] [stdout]    |
[INFO] [stdout] 68 |     spline.points.extend(&circular_arc(c, b, a).points[1..]);
[INFO] [stdout]    |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/shape/arc.rs:71:56
[INFO] [stdout]    |
[INFO] [stdout] 71 |     spline.points.extend(&circular_arc(a, b, c).points[1..]);
[INFO] [stdout]    |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/shape/arc.rs:74:56
[INFO] [stdout]    |
[INFO] [stdout] 74 |     spline.points.extend(&circular_arc(c, b, a).points[1..]);
[INFO] [stdout]    |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/clusters.rs:193:30
[INFO] [stdout]     |
[INFO] [stdout] 193 |             'outer: for y in 0..(image.height-h+1) {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/clusters.rs:194:26
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 for x in 0..(image.width-w+1) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/clusters.rs:276:18
[INFO] [stdout]     |
[INFO] [stdout] 276 |         for y in 0..self.height {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/clusters.rs:277:22
[INFO] [stdout]     |
[INFO] [stdout] 277 |             for x in 0..self.width {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/disjoint_sets.rs:94:14
[INFO] [stdout]    |
[INFO] [stdout] 94 |     for i in 0..items.len() {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/disjoint_sets.rs:163:18
[INFO] [stdout]     |
[INFO] [stdout] 163 |         for i in 0..self.parents.len() as u32 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/disjoint_sets.rs:264:18
[INFO] [stdout]     |
[INFO] [stdout] 264 |         for i in 1..11 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/disjoint_sets.rs:290:30
[INFO] [stdout]     |
[INFO] [stdout] 290 |         let items: Vec<_> = (1..11).collect();
[INFO] [stdout]     |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/field.rs:140:18
[INFO] [stdout]     |
[INFO] [stdout] 140 |         for i in 0..6 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/field.rs:144:18
[INFO] [stdout]     |
[INFO] [stdout] 144 |         for i in 0..6 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:100:18
[INFO] [stdout]     |
[INFO] [stdout] 100 |         for y in 0..self.height {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:101:22
[INFO] [stdout]     |
[INFO] [stdout] 101 |             for x in 0..self.width {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:122:18
[INFO] [stdout]     |
[INFO] [stdout] 122 |         for y in rect.top..rect.bottom {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:123:22
[INFO] [stdout]     |
[INFO] [stdout] 123 |             for x in rect.left..rect.right {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:141:18
[INFO] [stdout]     |
[INFO] [stdout] 141 |         for y in 0..self.height {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:142:22
[INFO] [stdout]     |
[INFO] [stdout] 142 |             for x in 0..self.width {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:178:18
[INFO] [stdout]     |
[INFO] [stdout] 178 |         for y in 0..rotated_image.height {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:179:22
[INFO] [stdout]     |
[INFO] [stdout] 179 |             for x in 0..rotated_image.width {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:192:18
[INFO] [stdout]     |
[INFO] [stdout] 192 |         for y in 0..src.height {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:193:22
[INFO] [stdout]     |
[INFO] [stdout] 193 |             for x in 0..src.width {
[INFO] [stdout]     |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:209:18
[INFO] [stdout]     |
[INFO] [stdout] 209 |         for y in 0..self.height {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:210:22
[INFO] [stdout]     |
[INFO] [stdout] 210 |             for x in 0..self.width {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:224:18
[INFO] [stdout]     |
[INFO] [stdout] 224 |         for y in 0..self.height {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:225:22
[INFO] [stdout]     |
[INFO] [stdout] 225 |             for x in 0..self.width {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:330:18
[INFO] [stdout]     |
[INFO] [stdout] 330 |         for y in 0..self.height {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:331:22
[INFO] [stdout]     |
[INFO] [stdout] 331 |             for x in 0..self.width {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:416:18
[INFO] [stdout]     |
[INFO] [stdout] 416 |         for y in 0..image.height {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/image.rs:417:22
[INFO] [stdout]     |
[INFO] [stdout] 417 |             for x in 0..image.width {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cmp::PartialOrd`
[INFO] [stdout]  --> src/point.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{cmp::PartialOrd, convert::{From, Into}, fmt::Display, ops::*};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/sampler.rs:55:18
[INFO] [stdout]    |
[INFO] [stdout] 55 |         for y in 0..new_size {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/sampler.rs:56:22
[INFO] [stdout]    |
[INFO] [stdout] 56 |             for x in 0..new_size {
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/sampler.rs:106:18
[INFO] [stdout]     |
[INFO] [stdout] 106 |         for y in 0..dst_rect.height() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/sampler.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |             for x in 0..dst_rect.width() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/sampler.rs:141:18
[INFO] [stdout]     |
[INFO] [stdout] 141 |         for y in top..bottom {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/sampler.rs:142:22
[INFO] [stdout]     |
[INFO] [stdout] 142 |             for x in left..right {
[INFO] [stdout]     |                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/sat.rs:34:18
[INFO] [stdout]    |
[INFO] [stdout] 34 |         for y in 0..height as i32 {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/sat.rs:35:22
[INFO] [stdout]    |
[INFO] [stdout] 35 |             for x in 0..width as i32 {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/numeric/matrix.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Debug, Write};
[INFO] [stdout]   |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/numeric/matrix.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let x = &self;
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/numeric/matrix.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Debug, Write};
[INFO] [stdout]   |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/numeric/matrix.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let x = &self;
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `src_pts` and `dst_pts` are never read
[INFO] [stdout]   --> src/numeric/perspective.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct PerspectiveTransform {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] 10 |     src_pts: [f64; 8],
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 11 |     dst_pts: [f64; 8],
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_intersection` is never used
[INFO] [stdout]   --> src/path/util.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(super) fn find_intersection(p1: &PointF64, p2: &PointF64, p3: &PointF64, p4: &PointF64) -> PointF64 {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_pow_of_four` is never used
[INFO] [stdout]    --> src/sampler.rs:152:4
[INFO] [stdout]     |
[INFO] [stdout] 152 | fn is_pow_of_four(n: usize) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pow_of_four` is never used
[INFO] [stdout]    --> src/sampler.rs:156:4
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn pow_of_four(mut n: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]   --> src/path/paths.rs:77:15
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl<T> Index<Range<usize>> for Path<T>
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D trait-impl-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/path/paths.rs:81:28
[INFO] [stdout]    |
[INFO] [stdout] 81 |     fn index(&self, index: Range<usize>) -> &Self::Output {
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeInclusive` type
[INFO] [stdout]   --> src/path/paths.rs:86:15
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl<T> Index<RangeInclusive<usize>> for Path<T>
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeInclusive` type in public function
[INFO] [stdout]   --> src/path/paths.rs:90:28
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn index(&self, index: RangeInclusive<usize>) -> &Self::Output {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]   --> src/path/paths.rs:95:15
[INFO] [stdout]    |
[INFO] [stdout] 95 | impl<T> Index<RangeFrom<usize>> for Path<T>
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]   --> src/path/paths.rs:99:28
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn index(&self, index: RangeFrom<usize>) -> &Self::Output {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains unused formatting placeholders
[INFO] [stdout]   --> src/shape/arc.rs:53:31
[INFO] [stdout]    |
[INFO] [stdout] 53 |         _ => panic!("What is ({dx},{dy})?"),
[INFO] [stdout]    |                               ^^^^ ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add the missing arguments
[INFO] [stdout]    |
[INFO] [stdout] 53 |         _ => panic!("What is ({dx},{dy})?", ...),
[INFO] [stdout]    |                                           +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]    |
[INFO] [stdout] 53 |         _ => panic!("{}", "What is ({dx},{dy})?"),
[INFO] [stdout]    |                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains an unused formatting placeholder
[INFO] [stdout]   --> src/shape/arc.rs:97:31
[INFO] [stdout]    |
[INFO] [stdout] 97 |         _ => panic!("What s = {s}?"),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout] help: add the missing argument
[INFO] [stdout]    |
[INFO] [stdout] 97 |         _ => panic!("What s = {s}?", ...),
[INFO] [stdout]    |                                    +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]    |
[INFO] [stdout] 97 |         _ => panic!("{}", "What s = {s}?"),
[INFO] [stdout]    |                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors; 122 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `visioncortex` (lib) due to 7 previous errors; 122 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: fields `src_pts` and `dst_pts` are never read
[INFO] [stdout]   --> src/numeric/perspective.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct PerspectiveTransform {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] 10 |     src_pts: [f64; 8],
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 11 |     dst_pts: [f64; 8],
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_intersection` is never used
[INFO] [stdout]   --> src/path/util.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(super) fn find_intersection(p1: &PointF64, p2: &PointF64, p3: &PointF64, p4: &PointF64) -> PointF64 {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_pow_of_four` is never used
[INFO] [stdout]    --> src/sampler.rs:152:4
[INFO] [stdout]     |
[INFO] [stdout] 152 | fn is_pow_of_four(n: usize) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pow_of_four` is never used
[INFO] [stdout]    --> src/sampler.rs:156:4
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn pow_of_four(mut n: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains unused formatting placeholders
[INFO] [stdout]   --> src/shape/arc.rs:53:31
[INFO] [stdout]    |
[INFO] [stdout] 53 |         _ => panic!("What is ({dx},{dy})?"),
[INFO] [stdout]    |                               ^^^^ ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add the missing arguments
[INFO] [stdout]    |
[INFO] [stdout] 53 |         _ => panic!("What is ({dx},{dy})?", ...),
[INFO] [stdout]    |                                           +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]    |
[INFO] [stdout] 53 |         _ => panic!("{}", "What is ({dx},{dy})?"),
[INFO] [stdout]    |                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains an unused formatting placeholder
[INFO] [stdout]   --> src/shape/arc.rs:97:31
[INFO] [stdout]    |
[INFO] [stdout] 97 |         _ => panic!("What s = {s}?"),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout] help: add the missing argument
[INFO] [stdout]    |
[INFO] [stdout] 97 |         _ => panic!("What s = {s}?", ...),
[INFO] [stdout]    |                                    +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]    |
[INFO] [stdout] 97 |         _ => panic!("{}", "What s = {s}?"),
[INFO] [stdout]    |                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 127 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c2995bd686f638446a0d689f28f8d44d53c209a8c15fcc18767685424c069ac8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c2995bd686f638446a0d689f28f8d44d53c209a8c15fcc18767685424c069ac8", kill_on_drop: false }`
[INFO] [stdout] c2995bd686f638446a0d689f28f8d44d53c209a8c15fcc18767685424c069ac8
